программно войти на Facebook и разместить на странице (на стене) - PullRequest
4 голосов
/ 03 ноября 2011

У меня есть веб-сайт, и он мне нужен, чтобы время от времени публиковать обновления статуса на странице Facebook.

Используя свою личную учетную запись Facebook, я создал приложение и страницу. До сих пор я мог программно публиковать сообщения на стене моей страницы, добавив этот код на свой веб-сайт:

<code>include_once "lib/facebook/src/facebook.php";

$facebook = new Facebook(array('appId' => 'APP_ID_HERE', 'secret' => 'APP_SECRET_HERE'));

if($facebook->getUser()) {

    try {
        $ret_obj = $facebook->api('/FACEBOOK_PAGE_ID_HERE/feed', 'POST', array(
            'link' => 'www.example.com',
            'message' => 'Posting with the PHP SDK!',
            'access_token' => 'FACEBOOK_PAGE_ACCESS_TOKEN_HERE'
        ));
        echo '<pre>Post ID: ' . $ret_obj['id'] . '
'; } catch (FacebookApiException $ e) { // пользователь вышел из системы (имеет user_id, но неверный токен доступа) $ login_url = $ facebook-> getLoginUrl (array ('scope' => 'publish_stream')); echo 'Пожалуйста логин. '; } echo '
getLogoutUrl() . '"> logout '; } еще { $ login_url = $ facebook-> getLoginUrl (array ('scope' => 'publish_stream')); echo 'Пожалуйста логин. '; }

Так что я просто открываю свой сайт, нажимаю «Пожалуйста, войдите», войдите как я. После того, как я войду в него, он сможет публиковать обновление статуса на странице Facebook.

Очевидно, что проблема в том, что мне нужно войти в систему, чтобы иметь возможность публиковать сообщения. Если другие пользователи попытаются войти в систему со своими учетными записями, мой веб-сайт не сможет публиковать обновления статуса на странице Facebook, поскольку я являюсь единственным администратором приложения / страницы.

У меня вопрос, есть ли способ для меня программно войти в Facebook, чтобы я мог автоматически выполнять эти обновления статуса на моей странице?

Извините, но тут нет места для разработки Facebook.

Ответы [ 3 ]

4 голосов
/ 03 ноября 2011

Похоже, вам нужно обновить статус, пока вы не в сети с Facebook.Для этого вам необходимо получить разрешение автономного доступа пользователя приложения и иметь «бесконечный» токен для приложения Facebook для доступа к API, чтобы ваша программа могла обновляться в любое время, не заходя на Facebook.

Здесь вы можете получить то, что хотите

http://developers.facebook.com/docs/authentication/

1 голос
/ 19 апреля 2012

Я немного опоздал на вечеринку здесь, но я решил опубликовать мой пример суть о том, как сделать что-то очень похожее. Я добавил некоторые функции в fbconsole, чтобы упростить программный вход в систему с помощью fbconsole.automatically_authenticate, чтобы упростить систематический доступ к этой информации. Это дополнение еще не было включено в основную ветку fbconsole (оно было опубликовано сегодня утром), но пока доступно здесь для тех, кто заинтересован.

0 голосов
/ 03 ноября 2011

Это то, что я использую,

 // = SET WALL DATA HERE ===============
$attachment = array(
'access_token' => 'My Access token here',
'message'      => '',
'name'         => 'My Wall Post Header/Title Here',
'caption'      => 'Small caption here',
'link'         => 'http://www.mywebsite.org',
'description'  => 'Wall Post Details Here',
'picture'      => "http://www.mywebsite.org/images/logo.gif",
);

// =POST ON FACEBOOK WALL ==========================
$this->facebook->api('/me/feed', 'POST', $attachment);
, $attachment);

Так что включите свой API Facebook, получите свой токен доступа Facebook, НАСТРОЙТЕ данные для своей записи на стене и позвоните в Facebook api с помощью метода me / feed.

Это сделает на стене сообщение без запроса входа в систему.

убедитесь, что вы используете правильный токен доступа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...